package com.gin.pixiv.api

import com.gin.pixiv.enums.PixivOrderBy
import com.gin.pixiv.response.PixivResponse
import com.gin.pixiv.response.series.NovelContentTitle
import com.gin.pixiv.response.series.NovelSeries
import com.gin.pixiv.response.series.NovelSeriesContent
import retrofit2.Call
import retrofit2.http.GET
import retrofit2.http.Path
import retrofit2.http.Query

/**
 * 小说系列API
 * @author BX-Gin
 * @from 2024/2/24 15:40
 */
interface NovelSeriesApi {
    /**
     * 查询系列中作品的基础信息
     */
    @GET("ajax/novel/series_content/{id}")
    fun getContents(
        @Path("id") id: Long,
        /**
         * 偏移量，0为第一页，每次叠加一个 limit 到下一页
         */
        @Query("last_order") offset: Int? = 0,
        /**
         * 每页上限
         */
        @Query("limit") limit: Int? = 30,
        /**
         * 排序方式
         */
        @Query("order_by") orderBy: PixivOrderBy? = PixivOrderBy.asc,
    ): Call<PixivResponse<NovelSeriesContent>>

    /**
     * 查询小说系列详情
     */
    @GET("ajax/novel/series/{id}")
    fun getDetail(@Path("id") id: Long): Call<PixivResponse<NovelSeries>>

    /**
     * 查询系列的各篇标题
     */
    @GET("ajax/novel/series/{id}/content_titles")
    fun getTitles(@Path("id") id: Long): Call<PixivResponse<List<NovelContentTitle>>>


}